package com.doujiang.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.doujiang.domain.Movie;
import com.doujiang.domain.dto.PageResult;
import com.doujiang.domain.dto.jhjMovieDTO;


import java.util.List;

/**
 * 电影Service接口
 * 
 * @author 王伟舰
 * @date 2025-07-19
 */
public interface jhjIMovieService extends IService<Movie>
{

    /**
     * 获取全局平均评分
     */
    double getGlobalAvgScore();

    /**
     * 查询热门剧情悬疑电影
     */
    List<jhjMovieDTO> getTopSuspenseMovies(int minVotes);

    /**
     * 查询高评分电影
     */
    List<jhjMovieDTO> getHighScoreMovies(int minVotes);

    /**
     * 查询最新电影
     */
    List<jhjMovieDTO> getLatestMovies(int minVotes);

    /**
     * 查询动作犯罪惊悚电影
     */
    List<jhjMovieDTO> getActionThrillerMovies(int minVotes);

    /**
     * 查询奇幻科幻电影
     */
    List<jhjMovieDTO> getFantasySciFiMovies(int minVotes);

    /**
     * 查询诺兰导演电影
     */
    List<jhjMovieDTO> getNolanMovies(int minVotes);

    /**
     * 查询华语电影
     */
    List<jhjMovieDTO> getChineseMovies(int minVotes);
    List<jhjMovieDTO> selectMoreMovies(String name, int minVotes, double globalAvg, int page, int size);
    PageResult<jhjMovieDTO> getMoviesByType(String name, int minVotes, double globalAvg, int page, int size);
}
